Embodiments described herein generally relate to preparation and display of a derived series of medical images from three dimensional (3D) image data sets by slab rendering.
FIG. 1 is a schematic drawing of principal elements of a medical imaging product chain. Initially a patient is scanned using an imaging device to perform computer-assisted tomography (CT), magnetic resonance (MR), digital radiography (DR), computed radiography (CR), positron-emission-tomography (PET), ultrasound or other modality. A modality generates two types of data. The first type of data, labeled original images, are images generated by the modality and are intended to be viewed directly by humans, typically radiologists or other medical professionals. Examples of original images are X-rays, CT cross-sectional images, MR sectional images, ultrasound fan images etc. The second type of data, labeled original data, is data that is not produced in the form of an image, or is composed of a very large collection of images, and is not intended to be viewed by humans directly, or in the aggregate.
The original images and/or original data generated by a modality are transferred to a computer workstation where the original images are locally cached, i.e. held in a memory cache at the workstation. The workstation hosts a digital imaging software application which is used to display the original images to a medical imaging professional on a display system, such as a high resolution monitor or collection of monitors. The digital imaging application may also pass some of the original images directly onwards, for example to other applications on the same computer or computer network, or over a network to other computer systems.
The digital imaging application may process some combination of original images and/or original data to generate derived images. Derived images are images that are different from original images and are intended to be seen directly by a medical imaging professional such as a radiologist.
In image processing of 3D image data sets of voxel data, such as medical image data sets obtained from CT or MR scans, creating a two dimensional (2D) image for display from a 3D image data set is generally performed by some kind of rendering.
A simple form of rendering would be to select an arbitrary plane to view through a 3D image data set, interpolate the voxel data adjacent to the plane to obtain in plane voxel data, obtain a 2D image data set, i.e. pixels from the in plane voxels, and display the 2D image data set as a 2D image.
One step further from this extremely simple example is where a user wishes to move the arbitrary plane through the volume in an axial direction to visualize slices through the volume at various depths. When a user wishes to visualize a succession of slices through a volume at various depths, a standard way of doing this is to create each 2D image from a slab of finite thickness and to advance the slab through the volume incrementally in steps that are equal to, or smaller than, the thickness of the slab. An advantage of using slabs rather than planes is that it can serve to average out noise and smooth undesirably detailed local variation.
To convert a slab, which by definition is a 3D data set, into a 2D image data set, the strings of data through the slab along any particular line orthogonal to the plane of the slab need to be somehow aggregated to produce a single datum using a projection algorithm, this being referred to as compositing. Various different filtering functions are used for this purpose.
One common projection algorithm is based on determining for each image pixel the maximum voxel value seen in the slab along the axial direction. This is known as maximum intensity projection (MIP). Maximum intensity projection is a type of ray casting. In effect, for each pixel in the image, an imaginary ray is cast through the volume data parallel to the view direction. The image data for each pixel is then taken to be the maximum voxel value encountered by the ray as it traverses the slab. Another common projection algorithm is known as minimum intensity projection (MinIP) and uses the minimum voxel value encountered by rays traversing the slab. A third type of projection mode used in slab rendering is Average Intensity Projection (AveIP) in which the voxel data values sampled from the portion of the ray traversing the slab are averaged to produce their collective value. For MIP, MinIP and AveIP the voxel values are scalar quantities. A further projection algorithm is volume rendering (VR) in which the voxel values are vectors for color and opacity, or grayscale and opacity in the case of monochrome rendering.
A stack of slab rendered MIP, MinIP, AveIP or VR slabs may need to be generated with a particular slab thickness in the axial direction and over a particular extent within the volume in a variety of circumstances. For example, a user may wish to produce a derived series for reporting or resampling purposes. Another example is when the visualization application is designed to compute a whole series of slabs in a predictive way. When a user selects a slab for viewing, the application anticipates the possibility that the user's next action will be to scroll from the current slab through the volume along the current view axis, for example to scan through a particular organ in a 3D medical image data set. A stack of slabs is calculated in advance seeded from the slab currently being viewed, e.g. upwards and downwards from the currently viewed slab, even though the user has not yet provided an instruction via the user interface to scroll up or down.
A common form of slab rendering is multi-planar reformatting (MPR). In this technique, MPR data are generated by taking a coordinate in view space, transforming the coordinate into volume space, and resampling the volume data using some form of interpolation to generate a new MPR data value for the discrete view space coordinate. An MPR slice is formed by carrying this out for a plurality of {x, y} coordinates at a fixed z value. If this is repeated for multiple values of z, then multiple MPR slices are determined and these slices can be projected to form an MPR slab. The MPR slab thus comprises a series of MPR slices which are aligned parallel to the image plane and disposed at different positions along the Z-axis.
In slab MPR, the slab can be gradually moved along the view axis in small increments by the user, so that the user sees a succession of images or frames projected from the volume data, where each frame relates to a projection through a slab occupying a location incrementally different from the previous slab. In use, a radiologist will “cine” or “scroll” the slab back and forth interactively. For example, in a CT scan of a human head, a radiologist might take several seconds to traverse the head from top to bottom or back to front, with the traverse involving several hundred frames. A typical technique for generating such image frames is casting a ray through the volume data set for each pixel in an image and sampling the volume data sets at a number of discrete points along each respective ray. If using MIP as the projection algorithm, for example, the maximum voxel value or interpolated value along the ray within the slab is then selected. The selected maximum sample or interpolated value within the slab is taken to be the pixel value associated with its respective ray.
FIGS. 2a and 2b show examples of derived image sequences obtained from different forms of multiplanar reformatting (MPR) which is a kind of slab rendering. FIG. 2a shows parallel MPR. FIG. 2b shows cross-curve MPR.
FIG. 2a shows a parallel MPR example where two positional coordinates and three orientation angles of the sectioning plane are fixed, and the plane is moved along its normal vector in a cine action by varying parameter t, for example with the scroll wheel of a mouse. Typically there are minimum and maximum values for parameter t based on the data set. Different choices of position and orientation give rise to different parallel MPR sequences.
FIG. 2b shows a cross-curve MPR example where a curve is defined through the patient's body, usually corresponding with an anatomical structure such as a vessel. The plane is moved by varying parameter t so that a given point on the plane moves along the curve, and the other degrees of freedom are constrained so that the plane is perpendicular to the curve at the bound point. The boundary values for parameter t are limited to a particular length portion of the vessel, for example. Different curves result in different cross-curve MPR sequences.
Other examples of slab rendered derived image sequences useful in medical imaging include radial MPR sequences formed by rotating the sectioning plane around an axis; and local MPR sequences where a point on the sectioning plane is bound to a curve and the plane is constrained to be tangential to the curve at the bound point. Slab rendering can be computationally costly, and in particular is more costly for thicker slabs. Namely, if the whole volume is made up of ‘n×n×n’ voxels and the slab thickness is ‘m’ voxels, then generation of a set of 2D images of the whole volume when the slab increment equals one voxel will have a runtime O that scales with O(m×n^3).